
package Data;
import java.rmi.RemoteException;

/**
 *
 * @author Philipp Armbruster
 */

public class SeatImpl
    extends java.rmi.server.UnicastRemoteObject
    implements Seat {

    /* Sitznummer */

        private int seatId;

    /* Anzahl der Reihen */

        public int numberOfRows;

    /* Sitzplätze pro Reihe */

        public int seatsPerRow;

    /* Gesamtanzahl der Sitzplätze */

        private int numberOfAllSeats;


    /* Konstruktor - Klasse Sitzplatz - */

         public SeatImpl(int seatsPerRow, int numberOfRows)
                throws java.rmi.RemoteException {

            this.seatsPerRow = seatsPerRow;
            this.numberOfRows = numberOfRows;
            this.numberOfAllSeats = this.seatsPerRow * this.numberOfRows;
         }


    /* Set-Methoden */

        /**
        * Setzen einer Sitznummer.
        * @param seatId (Sitznummer)
        * @throws java.rmi.RemoteException
        */

        public void setSeatId(int seatId) throws java.rmi.RemoteException {
            this.seatId = seatId;
        }

        /**
        * Setzen der Gesamtanzahl von Sitzen.
        * @param Gesamtanzahl von Sitzen
        * @throws java.rmi.RemoteException
        */

        public void setNumberOfAllSeats(int numberOfAllSeats) throws java.rmi.RemoteException{
            this.numberOfAllSeats = numberOfAllSeats;
        }


        /**
        * Setzen einer Anzahl von Reihen im Flugzeug.
        * @param NumberOfRows (Anzahl der Reihen)
        * @throws java.rmi.RemoteException
        */

        public void setNumberOfRows(int numberOfRows) throws java.rmi.RemoteException {
            this.numberOfRows = numberOfRows;
        }

        /**
        * Setzen einer Anzahl von Plätzen pro Reihe im Flugzeug.
        * @param SeatsPerRows (Plätze pro Reihe)
        * @throws java.rmi.RemoteException
        */

        public void setSeatsPerRow(int seatsPerRow) throws java.rmi.RemoteException {
            this.seatsPerRow = seatsPerRow;
        }



    /* Get-Methoden */

        /**
        * Auslesen der Sitznummer.
        * @return Sitznummer
        * @throws java.rmi.RemoteException
        */
        
        public int getSeatId() throws java.rmi.RemoteException {
            return this.seatId;
        }

        /**
        * Auslesen der Gesamtanzahl an Sitzplätzen.
        * @return Gesamtsitzplätze
        * @throws java.rmi.RemoteException
        */

        public int getNumberOfAllSeats() throws java.rmi.RemoteException {
            return this.numberOfAllSeats;
        }

        /**
        * Auslesen der Anzahl der Reihen.
        * @return Anzahl der Reihen
        * @throws java.rmi.RemoteException
        */

        public int getNumberOfRows() throws java.rmi.RemoteException {
            return numberOfRows;
        }

        /**
        * Auslesen der Sitzplätze pro Reihe.
        * @return Sitzplätze pro Reihe
        * @throws java.rmi.RemoteException
        */

        public int getSeatsPerRow() throws java.rmi.RemoteException {
            return this.seatsPerRow;
        }

}